package com.whmskj.xjlhbc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.whmskj.xjlhbc.domain.CompletionOfProductionDayBctj14;
import com.whmskj.xjlhbc.dto.DailyProductionQueryDto;

import java.util.List;
import java.util.Map;

/**
 * BC-TJ-14产量日完成情况Service接口
 */
public interface ICompletionOfProductionDayBctj14Service extends IService<CompletionOfProductionDayBctj14> {

    /**
     * 查询每日产量完成情况列表
     * @param queryDto 查询条件
     * @return 产量数据列表
     */
    List<Map<String, Object>> queryList(DailyProductionQueryDto queryDto);

    /**
     * 获取整经产量统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 整经产量统计数据
     */
    List<Map<String, Object>> getWarpingStatistics(String startDate, String endDate);

    /**
     * 获取浆纱产量统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 浆纱产量统计数据
     */
    List<Map<String, Object>> getSizingStatistics(String startDate, String endDate);

    /**
     * 获取织布产量统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 织布产量统计数据
     */
    List<Map<String, Object>> getWeavingStatistics(String startDate, String endDate);

    /**
     * 获取整经产量统计（按年月）
     * @param year 年份
     * @param month 月份
     * @return 整经产量统计数据
     */
    List<Map<String, Object>> getWarpingStatisticsByMonth(Integer year, Integer month);

    /**
     * 获取浆纱产量统计（按年月）
     * @param year 年份
     * @param month 月份
     * @return 浆纱产量统计数据
     */
    List<Map<String, Object>> getSizingStatisticsByMonth(Integer year, Integer month);

    /**
     * 获取织布产量统计（按年月）
     * @param year 年份
     * @param month 月份
     * @return 织布产量统计数据
     */
    List<Map<String, Object>> getWeavingStatisticsByMonth(Integer year, Integer month);

    /**
     * 获取整理产量统计（按年月）
     * @param year 年份
     * @param month 月份
     * @return 整理产量统计数据
     */
    List<Map<String, Object>> getZlStatisticsByMonth(Integer year, Integer month);

    /**
     * 获取整理产量统计（按年月）
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 整理产量统计数据
     */
    List<Map<String, Object>> getZlStatistics(String startDate, String endDate);
}
